iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0
自我挑戰組

C語言精讀研習系列 第 1

自訂函式演練-巢狀呼叫

  • 分享至 

  • xImage
  •  

在函式中,呼叫另一個函式,在此函式中再呼叫另一個函式,稱為巢氏呼叫…
下面的函式中,main()中呼叫powerSum(), 於powersSum()中呼叫power() .

#include <stdio.h>
int power(int, int);	        //原型宣告數值次方值函式power()
void powerSum(int, int, int);	//原型宣告次方和函式powerSum()

int main(){
	int x, y;
	
	printf("計算兩個整數的2~4次方和, 請輸入2整數\n");
	scanf("%d %d", &x, &y);
	
	powerSum(x, y, 9);	//x, y的9次方和 這三行為呼叫次方和的函式3次,都呼叫相同兩數值x, y與不同次方數
	powerSum(x, y, 8);	//x, y的8次方和
	powerSum(x, y, 7);	//x, y的7次方和
	
	return 0; 
}

void powerSum(int x, int y, int r){	//powerSum()的定義:算次方和的值,函式內會呼叫power()兩次
	int v;
	//將不同數值x, y與相同的次方r當成引數,傳到函式算…傳值回來相加為次方和
	v = power(x, r) + power(y, r);	
	printf("%d 與 %d 的 %d 次方和 = %d\n", x, y , r, v);
}

int power(int value, int r){	//定義power(), 在第2行呼叫此函式時,數值與次方數當引數,傳入函數內算
	int w=1;
	int i;
	
	for(i=0; i<r; i++){
		w = w* value;
	}
	return w;
}

https://ithelp.ithome.com.tw/upload/images/20230914/20160744806aPIqUw2.png
螢幕輸出結果

整合開發環境(Integrated Development Environment, IDE): Dev-C++ Version 5.11


下一篇
重複呼叫的遞迴函式
系列文
C語言精讀研習47
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言